package com.tanhua.dubbo.api;

import com.tanhua.model.mongo.RecommendUser;
import com.tanhua.model.vo.PageResult;
import org.bson.types.ObjectId;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @author Xiao
 * @date 2021/10/24
 */
public interface RecommendUserApi {
    /**
     * 查询今日佳人
     * @param toUserId
     * @return
     */
    RecommendUser queryWithMaxScore(Long toUserId);

    /**
     * 分页查询推荐朋友
     * @param page
     * @param pagesize
     * @param toUserId
     * @return
     */
    PageResult queryRecommendUserList(Integer page, Integer pagesize, Long toUserId);

    /**
     * 交友-佳人信息
     * @param userId
     * @param toUserId
     * @return
     */
    RecommendUser getFateValue(Long userId, Long toUserId);

    /**
     * 查询负荷条件的推荐用户
     * @param userId
     * @param likeUserIds
     * @param count
     * @return
     */
    List<RecommendUser> getRecommends(Long userId, List<Long> likeUserIds, Integer count);

    /**
     * 查询推荐用户
     * @param userId
     * @param userIds
     * @return
     */
    Map<Long, RecommendUser> selectByIds(Long userId, List<Long> userIds);

    /**
     * 查询所有推荐用户
     * @return
     */
    List<RecommendUser> selectById(Long userId);

    /**
     * 清理脏数据
     * @param users
     */
    void removeSameRecommendUser(ArrayList<RecommendUser> users);
}
